While using || (logical OR), we must put the condition first whose probability of getting true is high so that compiler doesn’t need to check the second condition if the first condition is true.
C++
#include <iostream>
using namespace std;
bool isEven( int n) {
return (n % 2 == 0);
}
bool isPrime( int n) {
if (n <= 1)
return false ;
for ( int i = 2; i <= n / 2; i++) {
if (n % i == 0)
return false ;
}
return true ;
}
int main() {
int cnt = 0, n = 10;
for ( int i = 3; i <= n; i++) {
if (isEven(i) || !isPrime(i))
cnt++;
}
return 0;
}
|
C
#include <stdio.h>
bool isEven( int n);
bool isPrime( int n);
int main()
{
int cnt = 0, n = 10;
for ( int i = 3; i <= n; i++) {
if (isEven(i) || !isPrime(i))
cnt++;
}
}
|
Java
import java.io.*;
class GFG {
boolean isEven( int n);
boolean isPrime( int n);
public static void main (String[] args)
{
int cnt = 0 , n = 10 ;
for ( int i = 3 ; i <= n; i++) {
if (isEven(i) || !isPrime(i))
cnt++;
}
}
}
|
Python3
def isEven(n):
pass
def isPrime(n):
pass
if __name__ = = '__main__' :
cnt = 0 ; n = 10
for i in range ( 3 ,n) :
if isOdd(i) or not isPrime(i):
cnt + = 1
|
C#
using System;
class GFG {
bool isEven( int n)
{
return (n % 2 == 0);
}
bool isPrime( int n)
{
if (n <= 1)
return false ;
for ( int i = 2; i <= Math.Sqrt(n); i++) {
if (n % i == 0)
return false ;
}
return true ;
}
static void Main( string [] args)
{
int cnt = 0, n = 10;
for ( int i = 3; i <= n; i++) {
if ( new GFG().isEven(i) || ! new GFG().isPrime(i))
cnt++;
}
}
}
|
Javascript
function isEven(n);
function isPrime(n);
let cnt = 0, n = 10;
for (let i = 3; i <= n; i++) {
if (isEven(i) || !isPrime(i))
cnt++;
}
|
As described earlier that the probability of a number being even is more than that of it being a non-prime. The current order of execution of the statements doesn’t allow even numbers greater than 2 to be checked whether they are non-prime (as they are all non-primes).
Note: For larger inputs, the order of the execution of statements can affect the overall execution time for the program.
Contact Us